home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Online / SpeakFreely / src / lpc10 / main.c < prev    next >
C/C++ Source or Header  |  2000-05-18  |  1KB  |  53 lines

  1. #include <stdio.h>
  2.  
  3. #include "lpcdefs.h"
  4. #include "config.ch"
  5. #include "common.h"
  6.  
  7. #include <sys/time.h>
  8.  
  9. int main()
  10. {
  11.     FILE *fi = fopen("/tmp/test2.au", "r"),
  12.          *ft = fopen("/tmp/lpc.tmp", "w+"),
  13.          *fo = fopen("/tmp/out.au", "w");
  14.     unsigned char buf[LFRAME], nuf[LFRAME], wuf[LFRAME];
  15.     long i, j, k, l = 0;
  16.     struct timeval t1, t2;
  17.  
  18.     lpc10init();
  19.     gettimeofday(&t1, NULL);
  20.     while (1) {
  21.     i = fread(buf, 1, LFRAME, fi);
  22.     if (i == 0) {
  23.         break;
  24.     }
  25.     j = lpc10encode(buf, nuf, i);
  26.     fwrite(nuf, j, 1, ft);
  27.     l += i;
  28.     }
  29.     gettimeofday(&t2, NULL);
  30.     printf("Encoding at %ld samples per second.\n",
  31.     (long) (((double) l) / ((t2.tv_sec - t1.tv_sec) +
  32.         ((t2.tv_usec - t1.tv_usec) / 1000000.0))));
  33.     rewind(ft);
  34.     gettimeofday(&t1, NULL);
  35.     l = 0;
  36.     while (1) {
  37.     i = fread(nuf, 1, 7, ft);
  38.     if (i == 0) {
  39.         break;
  40.     }
  41.     k = lpc10decode(nuf, wuf, i);
  42.     fwrite(wuf, k, 1, fo);
  43.     l += k;
  44.     }
  45.     gettimeofday(&t2, NULL);
  46.     printf("Decoding at %ld samples per second.\n",
  47.     (long) (((double) l) / ((t2.tv_sec - t1.tv_sec) +
  48.         ((t2.tv_usec - t1.tv_usec) / 1000000.0))));
  49.     fclose(fo);
  50.     fclose(ft);
  51.     fclose(fi);
  52. }
  53.